﻿using System.Text.Json.Serialization;
using System.Windows.Controls;

namespace Lib.WPF.Entitys; 
/// <summary>
/// 导航菜单实体对象
/// </summary>
public class Navigate {
    /// <summary>
    /// 
    /// </summary>
    public static Navigate Create() {
        return new Navigate();
    }
    /// <summary>
    /// 
    /// </summary>
    public Navigate() {
        Children = [];
    }
    /// <summary>
    ///  关键字
    /// </summary>
    public string Key { get; set; }
    /// <summary>
    /// 标题 
    /// </summary>
    public string Title { get; set; }
    /// <summary>
    /// 菜单图标 
    /// </summary>
    public string Picture { get; set; }
    /// <summary>
    /// 路径 
    /// </summary>
    public string Uri { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public List<Navigate> Children { get; set; }
    /// <summary>
    /// 排序索引
    /// </summary>
    public int Index { get; set; }
    /// <summary>
    /// 是否禁用
    /// </summary>
    public bool Disable { get; set; }
    /// <summary>
    /// 是否选中
    /// </summary>
    public bool Selected { get; set; }
    /// <summary>
    /// 是否展开
    /// </summary>
    public bool Expanded { get; set; }
    /// <summary>
    /// 标签对象
    /// </summary>
    [JsonIgnore]
    public Tab Tab { get; set; }
    /// <summary>
    /// 菜单控件（RadioButton）
    /// </summary>
    [JsonIgnore]
    public RadioButton Control { get; set; }

}
